Most software applications are configured to access shared code libraries of executable functions to execute application processes. A shared code library may be used to enable sensitive operations such as encryption and decryption, for instance by providing access to an encryption key. In such cases, the application accessing such a shared library should be a trusted application and should be authorized to access the application programming interface (API) exposed by such library. The API is a set of routines, protocols or tools that includes data structures, object classes, and other variables that are used to access a pre-compiled code such as a shared library. Additionally, the application accessing the shared library API should execute on an authorized computer system. Existing systems do not provide a solution to ensure these conditions are met when providing applications access to a shared library.